MC_MoveAdditive

功能塊 MC_MoveAdditive
下達一個目標為特定附加位置之運動指令。呼叫此命令時,給定之附加距離將添加於離散運動中最後一個指令位置。指令位置之定義請參考 MC_Source 類型。
VAR_IN_OUT
B AxisIn AXIS_REF 軸的參考。
VAR_INPUT
B Execute BOOL 在上升邊緣開始運動。
E ContinuousUpdate BOOL 若為 TRUE,則當功能塊 (FB) 正在執行且參數值正被更新時,FB 將使用新值;若為 FALSE,則 FB 不會使用新值。
B Distance LREAL 運動的相對距離(單位)。
B Velocity LREAL 最大速度值(非必要到達)[單位/秒]
E Acceleration LREAL 加速度值,單位由 MC_ProfileType 決定(馬達的增加能源) [單位/每秒2] 或 [每秒]。
E Deceleration LREAL 減速度值,單位由 MC_ProfileType 決定(馬達的減少能源) [單位/每秒2] 或 [每秒]。
E Jerk LREAL 加加速度值。單位由 MC_ProfileType 決定,為 [單位/每秒3] 或 [每秒]。
E BufferMode MC_BufferMode 定義如何融合兩功能塊的速度。
VAR_OUTPUT
B Done BOOL 已達到命令距離。
E Busy BOOL 功能塊尚未完成且預期將有新的輸出值。
E Active BOOL 功能塊正在控制軸。
E CommandAborted BOOL 命令被另一個命令中止。
B Error BOOL 功能塊中出現錯誤的訊號。
E ErrorID MC_Error 錯誤識別。
  • 此命令完成後,軸移動的總距離為上一個移動命令給定的距離加上 MC_MoveAdditive 添加的距離。
  • 若上一個命令是移動命令並被中斷,則運行 MC_MoveAdditive 時,軸將走的距離是上一個命令的剩餘距離加上 MC_MoveAdditive 增加的距離。
  • 若前一個命令是速度命令,其將被中止並執行 MC_MoveAdditive
  • 更多關於融合模式的運作方式之資訊請見:概念解說 > 融合運動

 

  MC_MoveAdditive  
AXIS_REF   AxisIn   Axis   AXIS_REF
BOOL   Execute   Done   BOOL
BOOL   ContinuousUpdate   Busy   BOOL
LREAL   Distance   Active   BOOL
LREAL   Velocity   CommandAborted   BOOL
LREAL   Acceleration   Error   BOOL
LREAL   Deceleration   ErrorID   MC_Error
LREAL   Jerk        
MC_BufferMode   BufferMode        
             

下圖兩個範例為軸在離散運動狀態時的功能塊組合:

  1. 時序圖的左側部分說明了在第一個功能塊 (FB) 之後呼叫第二個功能塊 (FB) 的情況,若 First 到達命令位置 6000(且速度為 0),則輸出 Done 會導致 Second FB 移動位置 4000,將軸的結果位置移到 10000。
  2. 時序圖的右側部分說明了第二個功能塊 (FB) 在第一個 FB 仍在執行時開始執行的情況,在這種情況下,在 First FB 的恆定速度期間,第一個運動即被 Test 訊號中斷和中止;Second FB 從前一個指令位置 6000 增加距離 4000 並將軸移動至位置 10000。